The present invention relates to data storage networks, and more specifically, this invention relates to data storage network configurations that support improved multi-site data replication.
Traditional computer file systems store information in a database using a tree structure. These traditional systems have been successful for small collections of data like those on a local hard drive, but were not designed, and therefore not able, to handle larger amounts of data. Thus, as businesses continue to collect, store, access, transfer, etc. larger and larger volumes of unstructured content, traditional computer file systems are unable to meet business' needs.
A storage area network (SAN) is a network which provides access to consolidated, block level data storage. SANs are primarily used to enhance storage devices such as disk arrays, and tape libraries by making them accessible to servers so that the devices appear to the operating system as locally attached devices. SANs may be implemented over a wide area network (WAN) that covers a broad geographical area. Accordingly, access between storage devices may be facilitated regardless of their proximity to each other.
Object storage provides an advanced technique of storing information, where information is stored as objects. Each object contains the data itself (e.g., the bits and bytes), in addition to metadata that may include user and/or system defined tags. The metadata may describe the content of the data; how the corresponding object is related to other objects; how the data should be handled, replicated, or backed up; etc.
Advancements to object storage have been developed to increase the value of object storage and increase the speed at which the data in the objects can be accessed. These advancements implement an embedded compute engine within the storage object, which is typically called a “storlet”. Thus, a storlet is a data storage object with a computational component stored inside, thereby enabling the object storage to perform computations to the data, as opposed to the system having to move the data to a compute node or server to perform the computation. The storlet can be provisioned or deployed on a compute node for execution by the compute node. When the storlet is executed, the efficiency of executing the storlet on the compute node depends on the type of operation the storlet performs and the capabilities and role of the compute node.
However, existing data storage networks have still been unable to efficiently store data therein while also ensuring that the data is available at the various storage locations within the network. As a result, existing data storage networks are forced to sacrifice either storage space, or availability/security of the data stored therein. Accordingly, a data storage network that allows for efficient use of storage space while also maintaining swift access to the data at any of the storage locations in the storage network is needed.